#pragma once
#include "..\shared\shared_types.h"
//#include "Phycccp.h"

namespace Putin{

//Forward declaration
class PhysicsObject;

//Definitions of classes related to our physics library

struct AxisAlignedBoundingBox
{
	//Position and Extent
	Vec3f P;
	Vec3f E;
};

struct OrientedBoundingBox
{
	//Position, Extent and X,Y,Z orientation
	Vec3f P;
	Vec3f E;
	Vec3f X;
	Vec3f Y;
	Vec3f Z;
};

class Geometry
{
public:		
	Geometry(AxisAlignedBoundingBox AABB, OrientedBoundingBox OBB,PhysicsObject* phyobj);

	virtual void UpdateAABB(Vec3f position);
	virtual void UpdateOBB(Vec3f normal, Vec3f direction);
	bool mIsDesposed;
	AxisAlignedBoundingBox mAABB;
	OrientedBoundingBox mOBB;
	Vec3f mNormal;
	Vec3f mDirection;

	PhysicsObject* mPhysicsObject;
};

}//End namespace Putin